//decltype(表达式) var
//使var的数据类型和表达式的数据类型相同
#include <iostream>
using namespace std;
int fun(){
    cout<<"ok"<<endl;
    return 0;
}
int main()
{
    int a=0;
    int f=1;
    decltype(a) b;
    //c变量的数据类型和fun()函数的返回值类型一样
    decltype(fun()) c;
    //d变量的数据类型就是一个函数指针，并且在d前还要加*
    decltype(fun) *d;
    d=fun;
    //函数指针调用函数
    (*d)();
    //如果是(a),e的数据类型就是a数据类型的引用必须初始化
    decltype((a)) e=f;
    return 0;
}